home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-09-06 | 3.7 KB | 164 lines | [TEXT/CWIE] |
- // ModelessText.cp -- modeless dialog
-
- #include <Types.h>
- #include <Quickdraw.h>
- #include <Controls.h>
- #include <Dialogs.h>
- #include <Events.h>
- #include <Lists.h>
- #include <Menus.h>
- #include <TextEdit.h>
- #include <Appearance.h>
-
- #include "ResourceDefs.h"
- #include "Miscellany.h"
- #include "ControlUtils.h"
-
- #include "ModelessText.h"
-
- #define kSmallField 1
- #define kLargeField 2
- #define kX12345Field 3
- #define kX12345e6Field 4
- #define kPasswordField 5
- #define kDateField 6
- #define kTimeField 7
- #define kStyledField 8
-
-
- //----------
- CModelessText* CModelessText::sDialog = nil;
-
- //----------
- // static
- CModelessText* CModelessText::Create ()
- {
- CModelessText* dialog = new CModelessText;
- DModelessTextData* data = new DModelessTextData;
-
- dialog->MakeDialog (DLOG_ModelessText);
- dialog->ConnectToData (data);
-
- return dialog;
- }
-
- //----------
- // static
- CModelessText* CModelessText::Show ()
- {
- if (sDialog == nil) {
- sDialog = CModelessText::Create ();
- }
- if (sDialog != nil) {
- ::SelectWindow (sDialog->mDialog);
- ::ShowWindow (sDialog->mDialog);
- }
- return sDialog;
- }
-
- //----------
- CModelessText::CModelessText ()
- {
- mData = nil;
- }
-
- //----------
- CModelessText::~CModelessText ()
- {
- sDialog = nil;
- }
-
- //----------
- void CModelessText::FinishMake ()
- {
- mSmallHandle = GetControlItem (kSmallField);
- mLargeHandle = GetControlItem (kLargeField);
- mX12345Handle = GetControlItem (kX12345Field);
- mX12345e6Handle = GetControlItem (kX12345e6Field);
- mPasswordHandle = GetControlItem (kPasswordField);
- mDateHandle = GetControlItem (kDateField);
- mTimeHandle = GetControlItem (kTimeField);
- mStyledHandle = GetControlItem (kStyledField);
- }
-
- //----------
- void CModelessText::ConnectToData (
- AMSignaler* inData)
- {
- AMDialog::ConnectToData (inData);
- mData = (DModelessTextData*) inData;
-
- SetControlText (mSmallHandle, mData->GetSmall3 ());
- SetControlText (mLargeHandle, mData->GetLarge3 ());
- SetControlTextValue (mX12345Handle, mData->GetX12347 ());
- SetControlTextFloat (mX12345e6Handle, mData->GetX12345e8 ());
- SetControlText (mPasswordHandle, mData->GetPassword3 ());
- SetClockDateTime (mDateHandle, mData->GetDate3 ());
- SetClockDateTime (mTimeHandle, mData->GetTime3 ());
- SetControlText (mStyledHandle, mData->GetStyled3 ());
- }
-
- //----------
- void CModelessText::DataChanged (
- long inDataID)
- {
- if (inDataID == idSmall3) {
- SetControlText (mSmallHandle, mData->GetSmall3 ());
- }
- if (inDataID == idLarge3) {
- SetControlText (mLargeHandle, mData->GetLarge3 ());
- }
- if (inDataID == idX12347) {
- SetControlTextValue (mX12345Handle, mData->GetX12347 ());
- }
- if (inDataID == idX12345e8) {
- SetControlTextFloat (mX12345e6Handle, mData->GetX12345e8 ());
- }
- if (inDataID == idPassword3) {
- SetControlText (mPasswordHandle, mData->GetPassword3 ());
- }
- if (inDataID == idDate3) {
- SetClockDateTime (mDateHandle, mData->GetDate3 ());
- }
- if (inDataID == idTime3) {
- SetClockDateTime (mTimeHandle, mData->GetTime3 ());
- }
- if (inDataID == idStyled3) {
- SetControlText (mStyledHandle, mData->GetStyled3 ());
- }
- }
-
-
- //----------
- void CModelessText::DoItem (
- SInt16 inItemHit)
- {
- switch (inItemHit) {
- case kSmallField:
- mData->SetSmall3 (GetEditTextChars (mSmallHandle));
- break;
- case kLargeField:
- mData->SetLarge3 (GetEditTextChars (mLargeHandle));
- break;
- case kX12345Field:
- mData->SetX12347 (GetControlTextValue (mX12345Handle));
- break;
- case kX12345e6Field:
- mData->SetX12345e8 (GetControlTextFloat (mX12345e6Handle));
- break;
- case kPasswordField:
- mData->SetPassword3 (GetEditTextChars (mPasswordHandle));
- break;
- case kDateField:
- mData->SetDate3 (GetClockDateTime (mDateHandle));
- break;
- case kTimeField:
- mData->SetTime3 (GetClockDateTime (mTimeHandle));
- break;
- case kStyledField:
- mData->SetStyled3 (GetEditTextChars (mStyledHandle));
- break;
-
- } // switch
- }
-